iT邦幫忙

2025 iThome 鐵人賽

DAY 23
1
Odoo

一起認識 Odoo:開源 ERP 的另一種選擇系列 第 23

《智利 NGO 數位轉型:Odoo 如何實現捐款透明與專案會計》|Day 23

  • 分享至 

  • xImage
  •  

🏁 開場:一封來自 NGO 的邀請

https://ithelp.ithome.com.tw/upload/images/20250923/20178346UKp1HWfT0a.jpg

在稍稍安撫完客訴危機後,拓銷團終於抵達智利聖地牙哥。

這裡的天空清朗,遠處安地斯山脈覆著白雪。

街角攤販正烤著 empanada (餡餅),熱呼呼的餡餅飄散著洋蔥香氣。

「這地方比我想像中熱鬧。」德華一邊咬著餡餅欣賞街景,

一邊看著下午團隊去拜訪當地製造業的客戶清單。

這時,沈如蘭收到一則訊息,一位多年未見的學生 Vicente,邀她去參觀他創立的 NGO。

她想了想,轉頭對阿哲說:

「德華去跑行程吧,你跟我一起去見 Vicente,應該會有你感興趣的東西。」

於是拓銷團分成兩路:

一邊是繼續拓展市場的商務團,另一邊,則是沈如蘭和阿哲,準備走進 NGO 的世界。


💡 NGO 的新困境

Vicente 的 NGO 辦公室不大,卻堆滿了資料夾與發票。桌角壓著孩子畫的感謝卡。

他笑著迎上來,語氣裡帶著一絲疲憊:

「沈,你知道嗎?在智利,捐款不是問題。Teletón (智利一個非常有名的全國募款電視馬拉松活動,主要是為殘障兒童籌款建造復健中心) 年年能破紀錄,消防員也幾乎都是志工,學生們常常走上街頭募款。這裡的人很願意付出,只是…」

他指著桌上的文件:

  • 捐款要專款專用:教育、醫療、營養餐不能混。
  • 捐款人要求透明,有人甚至追問:「這 1,000 美元是不是確實進了孩子的伙食?」
  • 國際基金會要求審計,專案收支報表一做就是三個月。

他嘆了口氣:

「我們還在靠人工和 Excel,這是最讓人崩潰的地方。」


🔎 技術的火花

阿哲翻著桌上的收據,眼神裡滿是驚訝:

「哇,這要一張張對照嗎?如果用系統,能不能幫忙自動分類呢?」

Vicente 點點頭,苦笑著說:

「要是有這種工具,我們的財務人員就不用常常熬夜了。」

阿哲立刻拿出手機,展示 Odoo 的 NGO 模組:

「像這樣,每筆捐款都能標記專案,就像銀行帳戶有不同用途,系統會自動把捐款分到對應的『專案帳戶』裡,不會和日常營運費用混在一起。」

「那捐款人能自己查得到嗎?」Vicente 追問。

「可以的。」阿哲點頭,「Portal 功能就像 NGO 的專屬捐款查詢介面,捐款人登入後能看到自己資助的專案,收支明細一清二楚。」

他甚至點開一個範例,螢幕上顯示孩子每天的營養餐支出。Vicente 盯著數字,眼神慢慢變得放鬆:
「這樣的話,我們就能專心做事,而不是困在報表裡了。」

沈如蘭看著這一幕,心裡默默想:

透明度這件事,不只是 NGO,任何一間企業都無法忽視。

同一時間,德華正和拓銷團在另一端的會議室裡,與當地製造業代表激烈討論報價、交期與關稅。

一邊是市場競爭的談判桌,一邊是 NGO 對透明與信任的掙扎,兩條線看似遙遠,卻同樣需要數據與誠信作為支撐。

阿哲收起手機,補了一句:
「剛才只是簡單示範,其實 Odoo 在 NGO 的應用有一整套做法。我幫你整理幾個最重要的功能,你就會知道它怎麼解決問題了。」


⚙️ Odoo 的解法

  • 專案會計(Analytic Account)

    每個捐款自動對應專案,收支清晰不混用。

  • 捐款人透明查詢(Portal)

    NGO 專屬介面,捐款人可直接登入查詢,建立信任。

  • 審計友善報表

    一鍵輸出專案收支,滿足政府與基金會要求。


🧩 現場白板的對照

SME vs NGO 專案會計需求比較

阿哲順手在 Vicente 辦公室的白板上畫了兩欄,解釋 NGO 和一般企業的不同:

項目 SME(中小企業) NGO(非營利組織)
收入來源 銷售商品/服務 捐款、補助、專案資金
成本計算 依產品/部門 依專案/受益人
獲利關注點 毛利、淨利 資金流向透明度、專案執行率
報表重點 損益表、資產負債表 專案別收支表、捐款追蹤報表
關鍵挑戰 控制庫存與毛利 建立信任、符合審計要求
ERP 對應 Odoo:銷售、庫存、會計模組 Odoo:Analytic Account、Donation 模組、Portal 報表

專案收支的壓力

阿哲又舉了一個實際例子,把數字寫在白板上:

專案編號    專案名稱        收入(捐款)    支出(費用)    餘額
-----------------------------------------------------------
P001       孤兒院營養餐      $25,000       $18,500      $6,500
P002       教育補助          $15,000       $12,000      $3,000
P003       社區醫療          $30,000       $28,500      $1,500
-----------------------------------------------------------
合計                         $70,000       $59,000      $11,000


Odoo 的即時解法

接著,他打開電腦,示範了幾行 Odoo ORM 程式碼,說明如何讓捐款自動分配到對應專案,確保專款專用,不再需要熬夜對帳。

class Donation(models.Model):
    _name = 'ngo.donation'
    _description = 'NGO Donation'

    amount = fields.Float("Donation Amount")
    project_id = fields.Many2one('account.analytic.account', string="Project")
    donor_id = fields.Many2one('res.partner', string="Donor")

    @api.model
    def allocate_donation(self, donor, amount, project):
        donation = self.create({
            'amount': amount,
            'project_id': project.id,
            'donor_id': donor.id,
        })
        # 確保捐款專款專用,自動建立會計分錄
        self.env['account.move'].create({
            'move_type': 'entry',
            'line_ids': [
                (0, 0, {
                    'name': f"Donation from {donor.name}",
                    'debit': amount,
                    'account_id': project.account_id.id,
                }),
                (0, 0, {
                    'name': f"Allocation to {project.name}",
                    'credit': amount,
                    'account_id': project.fund_account_id.id,
                }),
            ]
        })
        return donation


🎯 結語:從 NGO 到 SDGs

夜幕低垂,聖地牙哥的街燈一盞盞亮起。

Vicente 打開一瓶智利 Casillero del Diablo 紅酒,倒了三杯。

「對我們 NGO 來說,最大的資產不是建築,也不是帳面上的資金,而是 捐款人的信任。」

沈如蘭舉杯回應:

「信任不只是 NGO 的生命線,也是企業能否長遠走下去的基礎。

像營養餐專案呼應 SDGs 第二項『消除飢餓』,教育補助對應 第四項『優質教育』

醫療專案則是 第三項『健康與福祉』

未來若有企業尋找合作夥伴,他們會一眼看到你們的影響力。」

Vicente 聽後眼睛一亮,像是看見 NGO 與企業跨界合作的新可能。

在數位時代,Odoo 不僅解決 NGO 的報表痛點,更讓 透明與信任有了落腳的地方

三人舉杯,紅酒的果香在空氣中散開,為這場「ERP × NGO × SDGs」的對話,種下第一顆種子。

👉夜色漸深,他們告別 Vicente,回到飯店和德華會合。但德華的麻煩,似乎還沒有結束。


上一篇
《客訴戰役:Odoo 串起跨國協作的最後防線》|Day 22
系列文
一起認識 Odoo:開源 ERP 的另一種選擇23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言